<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
  <meta charset="UTF-8">
  <title>商品鸡存栏明细表</title>
  <!-- 引入 SheetJS 库 -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>

  <script>
    function exportToExcel() {
      // 获取表格元素
      const table = document.getElementById('inventoryTable');

      // 将表格转换为工作簿
      const workbook = XLSX.utils.table_to_book(table);

      // 生成 Excel 文件并下载
      XLSX.writeFile(workbook, 'InventoryData.xlsx');
    }
  </script>
  <link rel="stylesheet" th:href="@{/css/styles.css?v=1.0}"/>
</head>
<body>
<h1>存栏明细表</h1>
<!-- 导出按钮 -->
<button onclick="exportToExcel()">导出到excel表格</button>
<!-- 表格 -->
<table id="inventoryTable" border="1">
  <thead>
  <tr>
    <th>日期</th>
    <td th:text="${date}">
  </thead>

  <thead>
  <tr>
    <th>农场</th>
    <th>存栏总数</th>
    <th>栋舍</th>
    <th>存栏</th>
  </tr>
  </thead>
  <tbody>
  <!-- 遍历每个农场 -->
  <th:block th:each="product : ${inventoryNumbers}">
    <!-- 检查是否有栋舍数据 -->
    <th:block th:if="${not #maps.isEmpty(product.invQty)}">
      <!-- 第一行（显示第一个栋舍及合并单元格） -->
      <tr>
        <td th:text="${product.orgName}"
            th:rowspan="${#maps.size(product.invQty)}"></td>
        <td th:text="${product.total}"
            th:rowspan="${#maps.size(product.invQty)}"></td>
        <td th:text="${product.invQty.entrySet().iterator().next().key}"></td>
        <td th:text="${product.invQty.entrySet().iterator().next().value}"></td>
      </tr>
      <!-- 剩余栋舍行（从第二个开始遍历） -->
      <th:block th:each="entry : ${product.invQty.entrySet()}">
        <tr th:if="${entryStat.index} > 0">
          <td th:text="${entry.key}"></td>
          <td th:text="${entry.value}"></td>
        </tr>
      </th:block>
    </th:block>
    <!-- 如果 invQty 为空（显示一行无数据信息） -->
    <tr th:if="${#maps.isEmpty(product.invQty)}">
      <td th:text="${product.orgName}"></td>
      <td th:text="${product.total}"></td>
      <td colspan="2">无栋舍数据</td>
    </tr>
  </th:block>
  </tbody>
</table>

</table>

</body>
</html>
